package com.tuliyou.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 志愿推荐结果VO类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RecommendationVO {

    /**
     * 院校专业招生信息
     */
    private Enrollment enrollment;

    /**
     * 用户排名与最低排名的差值（userRank - minRank）
     */
    private Integer rankDifference;

    /**
     * 匹配度：冲刺(rankDifference>2000), 稳妥(500-2000), 保底(<500)
     */
    private String matchDegree;

    /**
     * 推荐理由
     */
    private String recommendReason;

    /**
     * 风险等级：高风险(冲刺)、中风险(稳妥)、低风险(保底)
     */
    private String safetyLevel;

    /**
     * 院校专业招生信息内部类（对应数据库表uni_major_enrollments及关联信息）
     */
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class Enrollment {
        /**
         * 主键ID
         */
        private Long id;

        /**
         * 院校代号
         */
        private String universityCode;

        /**
         * 专业名称
         */
        private String majorName;

        /**
         * 院校名称（来自关联表universities）
         */
        private String universityName;

        /**
         * 招生年份
         */
        private Integer enrollYear;

        /**
         * 科目组合（仅物理）
         */
        private String examType;

        /**
         * 学历层次（固定本科）
         */
        private String educationLevel;

        /**
         * 当年最低录取分
         */
        private Integer minScore;

        /**
         * 当年最低省排名（核心推荐依据）
         */
        private Integer minRank;

        /**
         * 当年招生计划人数
         */
        private Integer planCount;

        /**
         * 当年实际录取人数
         */
        private Integer actualCount;

        /**
         * 招生备注与专业介绍
         */
        private String description;
    }
}
